perm filename TEST[AIM,DBL] blob sn#125923 filedate 1974-10-21 generic text, type T, neo UTF8
00100	PLEASE TYPE IN A LOGICAL EXPRESSION WHICH IS TRUE ( WHEN WE TERMIN
00200	  -ATE THE LOOP) AND IS FALSE OTHERWISE.
00300	
00400	SHOULD I DISCUSS RAMIFICATIONS?\4NO\*
00500	
00600	USER: \4(ANY RELATION IN POSSIBLE:NAME:OF:CLASS:RELNS:22 IS INCOMPATIBLE
00700	    WITH ELEMENT:RELNS:15)\*
00800	PUP WANTS USER TO TYPE IN NAME FOR ( RECOGNIZE:#)
00900	I DON'T KNOW ANY NAMES FOR ( RECOGNIZE:#), SO YOU'LL HAVE TO
01000	TYPE A BRAND NEW NAME IN TO ME. 
01100	USER: \4CONTRADICTS\*
01200	
01300	THE NAME CHOSEN IS CONTRADICTS:27
01400	
01500	MOVE CURSOR TO ( CONTRADICTS:27 TYPE OF ( RECOGNIZE:#))
01600	PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS SOMEOF DECISION
01700	   :(PROBABILITY=1:# PROBABILITY=0:# 
01800	PROBABILITY>0&<1:#)SINCE THE DECISION IS SOME:OF, TYPE ANY ORDERED SUBSE
01900	  -T OF: 
02000	(A .... PROBABILITY=1:#)
02100	(B .... PROBABILITY=0:#)
02200	(C .... PROBABILITY>0&<1:#)
02300	
02400	USER: \4(A B C)\*
02500	
02600	
02700	(I RECOMMEND THAT POSSIBLE:NAME:OF:CLASS:RELNS:22 BE STRUCTURED INTO (AT
02800	    LEAST ALONG ONE DIMENSION) THESE 3 PIECES:
02900	(PROBABILITY=1:#:PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22 PROBABILITY=0:#
03000	   :PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22 
03100	PROBABILITY>0&<1:#:PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22) .PLEASE TYPE
03200	    BACK YES, NO, OR UNSURE.)
03300	
03400	USER: \4YES\*
03500	
03600	PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY:1:#:PART:OF:POSSI
03700	  -BLE:NAME:OF:CLASS:RELNS)
03800	
03900	I DON'T KNOW ANY NAMES FOR ( PROBABILITY:1:#:PART:OF:POSSIBLE:NAME
04000	   :OF:CLASS:RELNS), SO YOU'LL HAVE TO
04100	TYPE A BRAND NEW NAME IN TO ME. 
04200	USER: \4YES:RELNS\*
04300	
04400	THE NAME CHOSEN IS YES:RELNS:28
04500	
04600	PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY:0:#:PART:OF:POSSI
04700	  -BLE:NAME:OF:CLASS:RELNS)
04800	THE NAME CHOSEN IS NO:RELNS:29
04900	
05000	PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY>0&<1:#:PART:OF:PO
05100	  -SSIBLE:NAME:OF:CLASS:RELNS)
05200	THE NAME CHOSEN IS MAYBE:RELNS:30
05300	
05400	
05500	DRAW A LINE FROM THE FUNCTION CALL  (CONTRADICTS:27 RELATION ELEMENT:REL
05600	  -NS:15) OF THE FUNCTION CONTRADICTS:27 TO THIS NEW PIECE OF CODE, WHICH
05700	    IS ITS BODY:
05800	
05900	(CONTRADICTS:27
06000	  (LAMBDA (ARG1 ARG2)
06100	    (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS RELATION)
06200	    (COMMENT IN ALL CALLS TO DATE, ARG2 IS INSTANTIATED AS ELEMENT:RELNS
06300	   :15)
06400	    (PROGN NIL
06500	           (COND
06600	             ((MEMBER ARG1 YES:RELNS:28)
06700	               (PROGN (COMMENT ARG1 OCCURS WITH PROBABILITY 1, SO IT HAD
06800	    BETTER BE
06900	                         IN ARG2, THE RELEVANT PIECE OF THE WORLD)
07000	                      (NOT (MEMBER ARG1 ARG2))))
07100	             ((MEMBER ARG1 NO:RELNS:29)
07200	               (PROGN (COMMENT SINCE ARG1 SHOULD NEVER OCCUR, WE HAVE A 
07300	  -CONTRADICTION
07400	                                                   IF IT IS A MEMBER OF 
07500	  -ARG2)
07600	                      (MEMBER ARG1 ARG2)))
07700	             (T (PROGN (COMMENT WE MAY OR MAY NOT HAVE ARG1 IN ARG2; EIT
07800	  -HER CASE IS ALLOWABLE; SO WE
07900	                          NEVER HAVE A CONTRADICTION)
08000	                       NIL))))))
08100	(CONTRADICTS:27 redefined)
08200	
08300	PUP: (PUP WORKED ON SOMETHING IMPROBABLE, NAMELY (IN ALL CODE GENERATED,
08400	    POSSIBLE:NAME:OF:CLASS:RELNS:22 SHOULD BE
08500	REPLACED BY (APPEND YES:RELNS:28 NO:RELNS:29 MAYBE:RELNS:30)) ,AND HERE 
08600	  -IS WHAT WE FINALLY DID ABOUT IT: (WE REPLACED
08700	ALL OCCURRENCES OF POSSIBLE:NAME:OF:CLASS:RELNS:22 BY (APPEND YES:RELNS:
08800	  -28 NO:RELNS:29 MAYBE:RELNS:30)))